package com.app.myApp.dao;

import com.app.myApp.dataobject.KnowledgeFilesDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * 个人知识库文件DAO（操作表knowledge_files）
 */
@Mapper
public interface KnowledgeFilesDAO {

    /**
     * 新增文件记录
     * @param knowledgeFilesDO 文件DO
     * @return 影响行数
     */
    int insert(KnowledgeFilesDO knowledgeFilesDO);

    /**
     * 按文件ID删除文件
     * @param id 文件ID
     * @return 影响行数
     */
    int deleteById(String id);

    /**
     * 按知识库ID查询文件列表
     * @param knowledgeId 知识库ID（对应表knowledge_id字段）
     * @return 文件列表
     */
    List<KnowledgeFilesDO> selectByKnowledgeId(String knowledgeId);

    /**
     * 按知识库ID删除所有文件（删除知识库时级联删除）
     * @param knowledgeId 知识库ID
     * @return 影响行数
     */
    int deleteByKnowledgeId(String knowledgeId);
}